<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * MovableGood
 *
 * @ORM\Table(name="movable_good")
 * @ORM\Entity
 */
class MovableGood
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="type", type="string", length=45, nullable=false)
     */
    protected $type;

    /**
     * @var integer
     *
     * @ORM\Column(name="units", type="integer", nullable=false)
     */
    protected $units;

    /**
     * @var float
     *
     * @ORM\Column(name="price_per_unit", type="float", nullable=true)
     */
    protected $pricePerUnit;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="shipping_date", type="datetime", nullable=true)
     */
    protected $shippingDate;

    /**
     * @var string
     *
     * @ORM\Column(name="shipping_method", type="string", length=45, nullable=true)
     */
    protected $shippingMethod;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_modified", type="datetime", nullable=false)
     */
    protected $lastModified;

    /**
     * @var \Entity\Safe
     *
     * @ORM\ManyToOne(targetEntity="Entity\Safe")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="safe_id", referencedColumnName="id")
     * })
     */
    protected $safe;

    /**
     * @var \Entity\RealEstate
     *
     * @ORM\ManyToOne(targetEntity="Entity\RealEstate")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="real_estate_id", referencedColumnName="id")
     * })
     */
    protected $realEstate;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set type
     *
     * @param string $type
     * @return MovableGood
     */
    public function setType($type)
    {
        $this->type = $type;
    
        return $this;
    }

    /**
     * Get type
     *
     * @return string 
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * Set units
     *
     * @param integer $units
     * @return MovableGood
     */
    public function setUnits($units)
    {
        $this->units = $units;
    
        return $this;
    }

    /**
     * Get units
     *
     * @return integer 
     */
    public function getUnits()
    {
        return $this->units;
    }

    /**
     * Set pricePerUnit
     *
     * @param float $pricePerUnit
     * @return MovableGood
     */
    public function setPricePerUnit($pricePerUnit)
    {
        $this->pricePerUnit = $pricePerUnit;
    
        return $this;
    }

    /**
     * Get pricePerUnit
     *
     * @return float 
     */
    public function getPricePerUnit()
    {
        return $this->pricePerUnit;
    }

    /**
     * Set shippingDate
     *
     * @param \DateTime $shippingDate
     * @return MovableGood
     */
    public function setShippingDate($shippingDate)
    {
        $this->shippingDate = $shippingDate;
    
        return $this;
    }

    /**
     * Get shippingDate
     *
     * @return \DateTime 
     */
    public function getShippingDate()
    {
        return $this->shippingDate;
    }

    /**
     * Set shippingMethod
     *
     * @param string $shippingMethod
     * @return MovableGood
     */
    public function setShippingMethod($shippingMethod)
    {
        $this->shippingMethod = $shippingMethod;
    
        return $this;
    }

    /**
     * Get shippingMethod
     *
     * @return string 
     */
    public function getShippingMethod()
    {
        return $this->shippingMethod;
    }

    /**
     * Set lastModified
     *
     * @param \DateTime $lastModified
     * @return MovableGood
     */
    public function setLastModified($lastModified)
    {
        $this->lastModified = $lastModified;
    
        return $this;
    }

    /**
     * Get lastModified
     *
     * @return \DateTime 
     */
    public function getLastModified()
    {
        return $this->lastModified;
    }

    /**
     * Set safe
     *
     * @param \Entity\Safe $safe
     * @return MovableGood
     */
    public function setSafe(\Entity\Safe $safe = null)
    {
        $this->safe = $safe;
    
        return $this;
    }

    /**
     * Get safe
     *
     * @return \Entity\Safe 
     */
    public function getSafe()
    {
        return $this->safe;
    }

    /**
     * Set realEstate
     *
     * @param \Entity\RealEstate $realEstate
     * @return MovableGood
     */
    public function setRealEstate(\Entity\RealEstate $realEstate = null)
    {
        $this->realEstate = $realEstate;
    
        return $this;
    }

    /**
     * Get realEstate
     *
     * @return \Entity\RealEstate 
     */
    public function getRealEstate()
    {
        return $this->realEstate;
    }
}
